#pragma once

#include "BulletObj.h"

class BasicObjFac
{
private:
	btDynamicsWorld*  m_World;
	Ogre::SceneManager*     m_SceneMgr;
public:
	BasicObjFac(Ogre::SceneManager* smgr, btDynamicsWorld* world);
	~BasicObjFac(void);

	EntityWrapper* CreateMeshSH(String name, String meshName, float mass, Vector3 pos, Vector3 scale, Quaternion quat, long qury = 0x0);
	EntityWrapper* CreateCube(String name, String meshName, float mass, Vector3 pos, Vector3 scale, Quaternion quat, long qury = 0x0);
	EntityWrapper* CreateSphere(String name, String meshName, float mass, Vector3 pos, Vector3 scale, Quaternion quat, long qury = 0x0);
	
	EntityWrapper* CreateMeshSH(Ogre::SceneNode* node, Ogre::Entity* ent, float mass, long qury = 0x0);
	EntityWrapper* CreateCube(Ogre::SceneNode* node, Ogre::Entity* ent, float mass, long qury = 0x0);
	EntityWrapper* CreateSphere(Ogre::SceneNode* node, Ogre::Entity* ent, float mass, long qury = 0x0);
};
